#include <stdio.h>
void countCharacters(const char str[], int *letters, int *digits, int *spaces, int *others);
int main() {
    char str[100];         // 存储输入字符串
    int letters = 0;       // 字母数量
    int digits = 0;        // 数字数量
    int spaces = 0;        // 空格数量
    int others = 0;        // 其他字符数量

    printf("请输入一个字符串:\n");
    fgets(str, sizeof(str), stdin);  // 推荐使用 fgets 避免缓冲区问题

    countCharacters(str, &letters, &digits, &spaces, &others);

    printf("字母个数: %d\n", letters);
    printf("数字个数: %d\n", digits);
    printf("空格个数: %d\n", spaces);
    printf("其他字符个数: %d\n", others);

    return 0;
}
void countCharacters(const char str[], int *letters, int *digits, int *spaces, int *others) {
    int i = 0;

    while (str[i] != '\0') {
        if ((str[i] >= 'a' && str[i] <= 'z') || (str[i] >= 'A' && str[i] <= 'Z')) {
            (*letters)++;
        } else if (str[i] >= '0' && str[i] <= '9') {
            (*digits)++;
        } else if (str[i] == ' ' || str[i] == '\t' || str[i] == '\n') {
            (*spaces)++;
        } else {
            (*others)++;
        }
        i++;
    }
}